﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace Aplication.Utilidades
{
    public class Util
    {

        public static T Cast<T>(T entidadUno,T entidadDos) 
        {

            return entidadUno = entidadDos;
        }

        public static void CastProperty<T,U>(T entidadUno, U entidadDos)
        {
            T tempUno;
            T tempDos;

            Type objetoUno = entidadUno.GetType();
            Type objetoDos = entidadDos.GetType();

            PropertyInfo [] propertyUno = objetoUno.GetProperties();
            PropertyInfo [] propertyDos = objetoDos.GetProperties();
            PropertyInfo[] property = objetoUno.GetType().GetProperties();


            foreach (PropertyInfo item in propertyUno)
            {
                item.SetValue(property, "", null);
            }

            //return propertyDos = propertyUno;
        }
    }
}
//Persona p = new Persona();
//    p.Edad = 18;
//    PropertyInfo[] propiedades = p.GetType().GetProperties();
//    foreach (PropertyInfo propiedad in propiedades)
//    {
//        if (propiedad.Name.Equals("Edad"))
//        {
//            Console.WriteLine("Edad: " + propiedad.GetValue(p, null));
//        }
//        else if (propiedad.Name.Equals("Nombre"))
//        {
//            propiedad.SetValue(p, "Pepe", null);
//            Console.WriteLine("Nombre: " + propiedad.GetValue(p, null));
//        }
//    }